Snyk で AI 生成によるコードの脆弱性の自動修正機能が利用できるようになりました(公開ベータ版)
こんにちは、CX事業本部 Delivery部の若槻です。
Snyk は、開発者がアプリケーションのセキュリティを簡単に管理できるようにするためのツールです。
Snyk では、アプリケーションのコードのセキュリティを管理する Snyk Code 、Insrastructure as Code(IaC)のセキュリティを管理する Snyk IaC、オープンソースのコンポーネントのセキュリティを管理する Snyk Open Source などの製品を提供しています。
そして先月のアップデートで、Snyk Code で AI 生成によるコードの脆弱性の自動修正機能 が公開ベータで利用できるようになりました。
ドキュメント
「AI 生成によるコードの脆弱性の自動修正機能」のドキュメントは以下になります。
この機能は「DeepCode AI」により実現されているとのことです。
DeepCode AI は Snyk 社が 2020年に買収した DeepCode 社が開発した 機械学習セマンティックコード分析 エンジンで、買収後に Snyk のプラットフォームに統合されました。
サポート言語
現在は JavaScript(TypeScript)のみです。
試してみた
機能の有効化
Snyk のコンソールにログインし、Settings > Snyk Preview から Snyk Code Fix Suggestions 機能を有効化します。
VS Code プラグインのインストール、認証
Visual Studio Code(VS Code)または Eclipse のプラグインで利用できます。
今回は VS Code プラグインで試してみます。以下のプラグインをインストールします。
Snyk の VS Code プラグインには Preview 版もありますが、「AI 生成によるコードの脆弱性の自動修正機能」は上記のリリース版で利用できます。
インストール後、未認証の場合は次のようなエラーメッセージが出ます。
サイドバーから Snyk のプラグインメニューを開き、[Turn workspace and connect] をクリックすると認証用のURLを取得できるので、ブラウザで開いて Snyk の認証を行います。
認証が完了すると、Snyk のプラグインメニューに機能が表示されます。
機能の利用
TypsScript(.ts)のコードで機能を試してみます。
機密情報(パスワード)をソースコードにハードコードする記述を行います。すると Fix this Issue: Use of Hardcoded Credentials
というサジェストが表示されます。
そして自動的に機密情報のハードコードの利用の修正が開始されます。
少し経つと機密情報を環境変数から取得するようにコードが変更されました!
おわりに
Snyk Code で AI 生成によるコードの脆弱性の自動修正機能 が公開ベータで利用できるようになりました。
開発者が特に操作をすることなく、コーディング時にリアルタイムで脆弱性を検出し、自動的に修正をしてくれるのは便利ですね。
ちなみに今回の VS Code 環境では GitHub Copilot プラグインも導入して利用できるようにしていましたが、特に両者が競合することはありませんでした。両者を使いこなせれば、より効率的な開発ができそうです。
参考
以上